package com.company.genealogy.web.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.company.genealogy.web.dto.BranchDTO;
import com.company.genealogy.web.entity.Branch;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.data.repository.query.Param;

import java.util.List;
import java.util.Map;


@Mapper
public interface BranchMapper extends BaseMapper<Branch> {
    
    /**
     * 分页查询分支列表（包含家族名称和负责人名称）
     */
    IPage<BranchDTO> selectBranchListWithNames(Page<BranchDTO> page, @Param("clanId") Long clanId);
    
    // 新增方法：按家族ID统计分支总数
    Long countTotalBranchesByClanId(@Param("clanId") Long clanId);
    
    // 新增方法：获取热门分支
    List<Map<String, Object>> getHotBranches(@Param("limit") int limit, @Param("clanId") Long clanId);
} 